package com.example.demo.pojo.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.*;
import java.io.Serializable;

/**
 * 创建或者更新网签配置的DTO
 *
 * @author 叮当猫的百宝箱
 * @since 1.0
 */
@Data
@Schema(description = "添加或者更新网签配置DTO")
public class CreateOrUpdateOnlineRequest implements Serializable {

    private static final long serialVersionUID = 5157765216039437713L;


    /**
     * 运营公司名称
     */
    @NotBlank(message = "运营公司名称不能为空")
    @Schema(description = "运营公司名称")
    private String companyName;

    /**
     * 运营公司组织机构代码
     */
    @NotBlank(message = "运营公司组织机构代码不能为空")
    @Schema(description = "运营公司组织机构代码")
    private String companyCode;

    /**
     * 运营公司ID
     */
    @NotBlank(message = "运营公司ID不能为空")
    @Schema(description = "运营公司ID")
    private String companyId;

    /**
     * 网签平台的用户名
     */
    @NotBlank(message = "网签平台的用户名不能为空")
    @Schema(description = "网签平台的用户名")
    private String username;

    /**
     * 网签平台密码
     */
    @NotBlank(message = "网签平台密码不能为空")
    @Schema(description = "网签平台密码")
    private String password;

    /**
     * 网签平台客户端ID
     */
    @NotBlank(message = "网签平台客户端ID不能为空")
    @Schema(description = "网签平台客户端ID")
    private String clientId;

    /**
     * 网签平台客户端密钥
     */
    @NotBlank(message = "网签平台客户端密钥不能为空")
    @Schema(description = "网签平台客户端密钥")
    private String clientSecret;

    /**
     * 网签平台接口地址
     */
    @NotBlank(message = "网签平台接口地址不能为空")
    @Pattern(regexp = "^(https?://).*", message = "网签平台接口地址必须是一个合法的URL地址")
    @Schema(description = "网签平台接口地址")
    private String url;

    /**
     * 是否开启此网签配置
     */
    @NotNull(message = "是否开启此网签配置不能为空")
    @Min(value = 0, message = "是否开启此网签配置只能是 0 或 1")
    @Max(value = 1, message = "是否开启此网签配置只能是 0 或 1")
    @Schema(description = "是否开启此网签配置")
    private Integer enable;
}
